When playing video games over a cloud-based network, one of the biggest concerns for game developers is the efficient use of the available network bandwidth. As such, gaming experiences that would otherwise be available during a non-cloud based gaming session may be eliminated in order to conserve the bandwidth. One such gaming experience that requires substantial bandwidth is replay functionality. The gameplay that is traditionally recorded for use in a replay is often stored in large files. This poses several problems. First, the replay must always be recorded since there is a possibility that the game player may want to view a replay at any stage of the game. The large file that is created may consume a substantial portion of available memory on the cloud-based server. In order to keep replay functionality, the length of the replay must be kept short, or there must be a large amount of memory dedicated to the storage of replay information. Second, when the game player requests a replay, the large file must be delivered over the cloud-based network. This service may consume a large portion of the bandwidth and result in poor performance to the game player, and others using the cloud-based network at that time.
Therefore, there is a need in the art for method and apparatus for recording replays of a video game and delivering the replay to the game player, which does not consume a large quantity of memory or bandwidth. It is within this context that aspects of the present disclosure arise.